Mechanism for facilitating multiple multimedia viewing planes in media display systems

ABSTRACT

A mechanism is described for facilitating multiple multimedia viewing planes in media display systems according to one embodiment of the invention. A method of embodiments of the invention includes using a plurality of multimedia planes corresponding to a plurality of multimedia content types. The plurality of multimedia planes may be integrated to be presented through an integrated user interface at a media processing device. The method may further include selecting, via the integrated user interface, one or more content categories from a plurality of multimedia content categories, and presenting, via a multimedia plane of the plurality of multimedia planes, contents associated with the one or more selected content categories.

RELATED APPLICATIONS AND CLAIM OF PRIORITY

This application is a continuation application that claims the benefitof and priority to U.S. patent application Ser. No. 13/539,228, entitled“MECHANISM FOR FACILITATING MULTIPLE MULTIMEDIA VIEWING PLANES IN MEDIADISPLAY SYSTEMS”, by Bran Ferren, et al., filed Jun. 29, 2012, nowallowed, which claims the benefit of and priority to U.S. ProvisionalPatent Application Ser. No. 61/508,375, by Bran Ferren, et al., filedJul. 15, 2011, the entire contents of which are incorporated herein byreference.

FIELD

Embodiments of the invention relate to media systems. More particularly,embodiments of the invention relate to a mechanism for facilitatingmultiple multimedia viewing planes in media display systems.

BACKGROUND

With the growing use of multimedia, multimedia devices (e.g.,televisions, computing devices, etc.) are expected to adopt newconvenient features and services to keep up with the growth. However,current entertainment systems require a user to access, for example,television media, the internet, and personal media using three separateinterfaces. Additionally, menus used in each of these systems typicallyare intrusive and not very accommodating of other media. For example,when a user views a menu on a television or computer display, the menutypically covers the entire display, blocking the multimedia stream.Other times, the menu covers a portion, such as the bottom part, of thecurrent multimedia stream without regard for what is being presented inthat portion of the display. Additionally, such menus are complex,poorly organized, and provide little information. For example, it iscumbersome and time-consuming to go through a series of dates orchannels, etc., to search a particular program or genre.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the invention are illustrated by way of example, and notby way of limitation, in the figures of the accompanying drawings inwhich like reference numerals refer to similar elements.

FIG. 1 illustrates an embodiment of a media processing device.

FIG. 2 illustrates an embodiment of a multimedia viewing planesintegration mechanism.

FIG. 3A illustrates an embodiment of an integrated navigation systemsetup using integrated multimedia viewing planes.

FIG. 3B illustrates an embodiment of a dynamic dual ribbon matrixGraphical User Interface view of an integrated navigation system.

FIG. 4 illustrates an embodiment of a schematic representation ofvarious processes of multiple multimedia planes integrated into anintegrated navigation system.

FIG. 5 illustrates an embodiment of an inter-process communicationchannels network of various multimedia sources of input to GraphicalUser Interface.

FIG. 6 illustrates an embodiment of a message routing system forfacilitating an integrated navigation system.

FIG. 7 illustrates a database architecture for facilitating anintegrated navigation system.

FIG. 8 illustrates a method for facilitating integrated navigationsystem according to one embodiment.

FIGS. 9A, 9B, 9C and 9D illustrate embodiments of remote controls thatare configured to be used with an integrated navigation system.

FIG. 10 illustrates an embodiment of a remote control system.

FIG. 11 is block diagram of a computer system suitable for implementingembodiments of the present disclosure according to one embodiment of theinvention.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth.However, embodiments of the invention may be practiced without thesespecific details. In other instances, well-known circuits, structuresand techniques have not been shown in details in order not to obscurethe understanding of this description.

Embodiments of the invention provide a mechanism for facilitatingintegration of multiple multimedia viewing planes in media displaysystems. In one embodiment, an integrated on-screen media navigationsystem (“integrated navigation system”) is provided as having multipleviewing planes that serve as a unified access point for various media,such as television programming, personal media, and the Internet. Theintegrated navigation system may provide integration of multiple mediaplanes such that they are graphically readable and usable as well asaesthetically pleasing. Further, the integrated navigation system allowsthe user to perform complex interactions intuitively and easily.

Embodiments provide for integrated television-viewing, media-perusing,and/or web-browsing for a user of such services. For example and in oneembodiment, these aforementioned features may be arranged together toprovide the user a unified interface through the integrated navigationsystem to freely navigate through television, media, and the Internet.In one embodiment, the unified interface represents and integrates theinformation (e.g., television programming, websites, etc.) provided by arange of devices and services into the existing television or otherdisplay in a functionally seamless and easily understood manner.

FIG. 1 illustrates an embodiment of a media processing device 100. Mediaprocessing device 100 includes a host multimedia system that used toperform media processing operations to receive, process, and displaymultimedia content via an output device, such as a display screen. It iscontemplated that embodiments are not limited to the illustrated mediaprocessing device 100 or its particular topology and that an alternatetopology may be implemented in any given embodiment. Media processingdevice 100 may be coupled to one or more media sources (e.g., a cablebroadcasting headend, a digital versatile/video disc (DVD) player,websites/the Internet, home media servers, storage media (e.g., harddrives) to receive media content, one or more input devices (e.g., akeyboard, a mouse, a remote control, a touchpad, etc.), and one or moreoutput devices (e.g., display devices, etc.).

Media processing device 100 may the same as or include one or morecomponents of a computing device (such as computing system 1100 of FIG.11 ) having a mechanism for facilitating integration of multiplemultimedia viewing/display navigation planes 110 (also referred to as“integration mechanism”). Media processing device 100 may be provided byor reside within any one or more of, but not limited to, televisionsets, television set-top boxes (e.g., Internet-based set-top boxes,etc.), etc. Media processing device 100 may further include mobilecomputing devices, such as cellular phones including smartphones (e.g.,iPhone®, BlackBerry®, etc.), other phones (e.g., landlines), handheldcomputing devices, personal digital assistants (PDAs), etc., tabletcomputers (e.g., iPad®, Samsung® Galaxy Tab®, etc.), laptop computers(e.g., notebook, netbook, Ultrabook™, etc.), e-readers (e.g., Kindle®,Nook®, etc.), etc. Media processing device 100 may further reside withinlarger computing devices, such as desktop computers, server computers,etc.

Media processing device 100 includes an operating system 106 serving asan interface between any hardware or physical resources of the computerdevice 100 and a user. Computing device 100 further includes one or moreprocessors 102, memory devices 104, network devices, drivers, or thelike, as well as input/output (I/O) sources 108, such as touchscreens,touch panels, touch pads, virtual or regular keyboards, virtual orregular mice, etc. It is to be noted that terms like “media processingdevice”, “media processing system”, “computing device”, “node”,“computing node”, “client”, “memory client”, “host”, “server”, “memoryserver”, “machine”, “device”, “computing device”, “computer”, “computingsystem”, and the like, may be used interchangeably and synonymouslythroughout this document.

In various embodiments, various elements of the media processing device100 may communicate, manage, process, and/or display media and otherrelevant information with one or more of any number and type ofprotocols. A protocol may comprise a set of predefined rules orinstructions for managing communication among nodes. A protocol may bedefined by one or more standards as promulgated by a standardsorganization, such as, the International Telecommunications Union (ITU),the International Organization for Standardization (ISO), theInternational Electrotechnical Commission (IEC), the Institute ofElectrical and Electronics Engineers (IEEE), the Internet EngineeringTask Force (IETF), the Motion Picture Experts Group (MPEG), and soforth. For example, the described embodiments may be arranged to operatein accordance with standards for media processing, such as the NationalTelevision Systems Committee (NTSC) standards, the Advanced TelevisionSystems Committee (ATSC) standards, the Phase Alteration by Line (PAL)standards, the MPEG-1 standard, the MPEG-2 standard, the MPEG-4standard, the Open Cable standard, the Society of Motion Picture andTelevision Engineers (SMPTE) Video-Codec (VC-1) standards, the ITU/IECH.263 and H.264

standards, etc. Another example may include Digital Video Broadcasting(DVB) standards, such as the Digital Video Broadcasting Terrestrial(DVB-T) broadcasting standard, the DVB Satellite (DVB-S) broadcastingstandard, the DVB Cable (DVB-C) broadcasting standard, and others.Digital Video Broadcasting (DVB) is a suite of internationally acceptedopen standards for digital television. DVB standards are maintained bythe DVB Project, an international industry consortium, and they arepublished by a Joint Technical Committee (JTC) of EuropeanTelecommunications Standards Institute (ETSI), European Committee forElectrotechnical Standardization (CENELEC) and European BroadcastingUnion (EBU). The embodiments are not limited in this context.

In various embodiments, media processing device 100 may be implementedas a wired communication system, a wireless communication system, or acombination thereof. Although media processing device 100 may beillustrated using a particular communications media by way of example,it may be appreciated that the principles and techniques discussedherein may be implemented using any type of communication media andaccompanying technology.

FIG. 2 illustrates an embodiment of an integration mechanism 110. In oneembodiment, integration mechanism 110 includes any number of components(also referred to as “logic” and “modules”), such as interfaceintegration logic 202, inter-process communication logic 204, messagelogic 206, database logic 208, remote control logic 210, customizationlogic 212, and compatibility logic 214. “Logic” (and similarly,“component” and “module”) may refer to hardware, software, firmware, andany combination thereof. The illustrated components 202-214 and theirfunctionalities are further described with reference to the subsequentfigures of this document.

In one embodiment, (1) interface integration logic 202 may facilitate anintegrated user interface (such as the integrated user interface 420 ofFIG. 4 ), (2) inter-process communication logic 204 may facilitate acommunication network 500 of communication channels 512-518 betweenvarious processes and their corresponding media renderers 502-508 asshown with regard to FIG. 5 , (3) message logic 206 may facilitate usingof a message routing system, such as the message routing system 600 ofFIG. 6 , (4) database logic 208 may facilitate implementation and use ofa database architecture, such as the database architecture 700 of FIG. 7, (5) remote control logic 210 may facilitate uses of various types ofremote controls, such as remote controls 920, 940, 960 of FIGS. 9A-9C,within the integrated navigation system, (6) customization logic 212 mayallow users to change various viewing or user profile settings, such aschanging a user profile, placing locks on certain programming, movingvarious items of the display screen to receive multimedia within aparticular setup (e.g., television media stream to occupy 60% of displayscreen and placed at the upper top corner, etc.), changing other items,such as display colors, turning on and off of closed caption, changingthe language (e.g., English, Spanish, etc.), and (7) compatibility logic214 may facilitate compatibility between the integrated navigationsystem and various changing technologies (e.g., topology, communicationprotocols, etc.) and devices (e.g., tablet computers, remote controls,etc.), and the like.

It is contemplated that any number and type of components may be addedto and/or removed from integration mechanism 110 to facilitate variousembodiments of the invention including adding, removing, and/orenhancing certain features. For example, integration mechanism 110 mayfurther include a display navigation component (not shown) that workswith other components, such as interface integration logic 202 andinter-process communication logic 204, as will be further described withreference to FIGS. 3A and 3B. The dynamic dual ribbon matrix GUI viewmay allow a user to select a media object with minimal disruption to themultimedia stream presented on other portions of the GUI view and, inone embodiment, the multimedia stream may be one or more of a televisionprogram, a movie, a computer game, a video game, a photograph, a homevideo, or the like. The dynamic dual ribbon matrix GUI view may beimplemented as a two-dimensional (X-Y) matrix such that one axis (e.g.,Y-axis) may list one or more categories, while the other axis (X-axis)may list media objects associated with each of the categories.

The display navigation component may further include categorypresentation component (not shown) to, for example, determine andpresent various categories listed in a vertical (axis) column of thematrix of multimedia panels (using text, icon, etc.) so that a user mayselect a category from the category ribbon. Examples of such categoriesmay include, but are not limited to, movies, sports, shopping, people,favorites, favorite channel, etc. The display navigation component mayfurther include a media object presentation component (not shown) todetermine and present one or more objects associated with each categoryand these media objects may be presented based on, for example, apersonalized entertainment channel. Such media objects may be presentedas titles, thumbnail images, live videos, etc., in a second ribbon, suchas in a horizontal row (or axis), of the matrix and may include, but arenot limited to, movies, photographs, video games, computer games, homevideos, songs, audio recordings, websites, network locations, televisionprograms, etc.

The display navigation component may further include an informationpanel and action menu presentation component (as shown in FIG. 3A) to,for example, determine and present information and action items based oneither a current multimedia stream and/or a selected media object, etc.In one embodiment, these information items may include, but are notlimited to, titles, summaries, channel numbers, release dates,directors, writers, producers, actors, etc., while action items mayinclude, but are not limited to, future replays/episodes,searches/info-surfs, related viewings, bookmarks/favorites,records/playbacks, etc. It is contemplated that embodiments of theinvention are not limited to any particular device, technology,topology, system, architecture, and/or standard and are dynamic enoughto adopt and adapt to any future changes.

FIG. 3A illustrates an embodiment of a layout 300 of integratedmultimedia viewing planes 302-308. In the illustrated embodiment,template or layout 300 provides four viewing planes 302-308 that areintegrated by merging their corresponding interfaces into an integrateduser interface, via the interface integration logic 202 of FIG. 2 , andfurther by linking their corresponding processes through theinter-process communication logic 204 of FIG. 2 . For example and in oneembodiment, a first process is responsible for main interface elementsrepresented in the user interface and is illustrated as multimediaviewing plane 1 302 (e.g., Graphics Library (GL) or OpenGL®display-based viewing plane), while a second process is used forrendering multiple video streams on two separate multimedia viewingplanes, such as viewing plane 2 304 (e.g., video display) and viewingplane 3 (e.g., video display, Picture-in-Picture (PIP)) 306. A thirdprocess is used for rendering the web content on a forth multimediaviewing plane 4 308 (e.g., web browser display using WebKit that servesas a layout engine to allow web browsers or render web pages).

It is contemplated that embodiments are not limited or confined to thelayout 300 and that any number and type of other layouts or templatesmay be implemented, such that there can any number or type of planesincluding any number or type of television programming display planes,web browser display planes, video display planes, or the like.

FIG. 3B illustrates an embodiment of a dynamic dual ribbon matrix GUIview 350 of an integrated navigation system. In one embodiment, theillustrated GUI view 350 is for an end user who may be enjoyingmultimedia content, such as one or more media streams (e.g., atelevision program, a website, an audio stream, etc.). In theillustrated embodiment, media stream 352 (e.g., a television programstream) can be adjusted by the user to any size from covering the entiredisplay screen to only a small part of the display screen, such as theupper right corner, the bottom left corner, the center, etc. Further,media stream 352 may be provided with better than any conventionalvisibility and design proportions.

In one embodiment, a category ribbon 354 may be used to present ordisplay one or more categories 356 in a user-friendly design, such asleft-to-right, top-to-bottom, etc. The category ribbon 354 is shown as auser-friendly vertical ribbon, but it is contemplated that it could beadjusted to be displayed as a horizontal ribbon and may include anynumber of categories 356, such as from one category covering the entireribbon to any number of categories. Further, the category ribbon 354 maybe scrolled-up, scrolled-down, sideways, etc. The category ribbon 354may include an active category slot 358 that refers to as an activecategory to determine the available media objects 360 in the media objetribbon 362.

In one embodiment, the user may indicate the selection via one or moreof input devices, such as, but not limited to, a remote control (such asvia remote control logic 210 of FIG. 2 ), a keyboard, a control pad, atouch sensitive device, a gesture recognition system, etc. For example,the user may point a finger in a horizontal motion to begin scrollingthe category ribbon 354 and, for example, the user may place all fingersand palm towards the electronic display to stop the scrolling. Otheruser gestures may be implemented, as desired or necessitated.

Furthermore, in one embodiment, an information panel 364 and an actionmenu 368 may be presented and displayed on the GUI view 350 and that theinformation panel 364, the action menu 368, the category ribbon 354, themedia object ribbon 362, etc., may be presented and displayedsimultaneously. In one embodiment, information panel 364 and action menu368, and the like, may be setup to be user-friendly and follow gooddesign rules; however, it is contemplated that that information panel364 and action menu 368 may be placed differently, such as informationpanel 364 may be presented and displayed on the right (or left) of thecategory ribbon 354, while action menu 368 may be presented anddisplayed immediately above (or below) the information panel 364, andthe like, leaving ample room for the multimedia stream 352. Themultimedia stream 352 may include a television program or a DVD-basedmovie, the information panel 364 may include a stationname/symbol/logo/icon, a channel name/symbol/logo/icon, the program timeor the current time, the program name or poster, etc., the action menu368 may include play, replay, search, scan, bookmark, forward, rewind,record, playback, pause, etc. As illustrated in FIG. 3B, the mediaobjects 360 in the media object ribbon 362 may include a media contentpreview pane 370 (e.g., of a television program or movie). The mediaobjects 360 may further include one or more of a media content sourceidentifier 372 (e.g., a station name/symbol/logo/icon or a channelname/symbol/logo/icon), a media content program time 374 (e.g., a timeindication associated with the start and/or end of a television programor movie), a media content program progress indicator 376 (e.g., anindication of elapsed content for programs already in progress), and/ora media content program name 378 (e.g., a television program or moviename/symbol/logo/icon).

FIG. 4 illustrates an embodiment of a schematic representation 400 ofvarious processes 402-406 of multiple multimedia planes 302-308. Asdescribed with reference to FIG. 3A, this schematic representation 400provides an integration of a number of processes 402-406 that are usedto generate corresponding multimedia viewing planes 302-308 that arethen composited into the integrated navigation system and provided viaan integrated user interface (UI) 420. Further, a video displaycontroller (VDC) (e.g., Intel® CE 3100 VDC) may serve as a mediaprocessor and final device in the chain to generate an appropriatesignal for the display based on various operations (including merging)that may have happened upstream, such as certain elements within the VDCgenerate windows/layers and provide the composited video signal.

In the illustrated embodiment, utilizing a combination of multipleviewing planes 302-308 allows for building a high-performance UI 420with dynamic and interactive graphics. For example, the first processmay be a GUI process 402 utilizing any combination of graphics andrelevant application programming interface (API) standards, such asOpenGL, OpenGL ES, etc., for a robust rendering of graphics (e.g., 2Dgraphics, 3D graphics, etc.) using the first viewing plane 302 via theuser interface 420.

In one embodiment, viewing planes 304 and 306 are video displaysgenerated through one or more video-related processes 404 and variousrelevant components, standards and/or formats 414 (such as videorendering modules, SMD library) and provided to the user through theintegrated UI 420. For example, using a high-speed Moving PictureExperts Group (MPEG) decoder (such as the one part of Intel's CE3100system) may use multiple planes 302-308. For example, having an MPEGdecoder located in the hardware may render the video to its own videodisplay viewing plane, such as viewing plane 304, which is usedseparately from the graphics viewing plane 302. The second video displayrepresented as the third viewing plane 306 may offer a PIP previewfunctionality anywhere within the integrated UI 420. Using this noveltechnique, for example, as the user scrolls viewable content along ahorizontal ribbon of available programming X-axis, he/she cansimultaneously view a live-action video feed (as opposed to merelylooking at static images found on channel guides).

In one embodiment and as with the first three viewing planes 302-306,the forth viewing plane 308 is generated to give the user, via theintegrated UI 420, access to web browsers to facilitate displaying ofand interacting with web content. For example, the fourth viewing plane308 may be generated and maintained through one or more web-relatedprocesses 406, such as WebKit or QtWebKit 416 that serves as an opensource web browser engine, and other relevant components, formats, andstandards, such as Direct Frame Buffer (Direct FB) 418, etc. Forexample, QtWebKit 416 may be embedded with direct FB 418 for itsback-end rendering (such as used as an abstraction layer for renderingthe web content). For example, direct FB 418 may be used if Qt graphicsdrivers are not available for OpenGL ES 412. It is contemplated thatembodiments are not limited to this particular illustration or layoutand that other components, settings, formats, and layouts may be used.For example, any number of other options may be used for rendering webcontent (e.g., Headless Mozilla, etc.) through viewing plane 308 asprovided via the integrated UI 420.

FIG. 5 illustrates an embodiment of an inter-process communicationchannels network 500 of various multimedia processes 502-508 to GUI 510for facilitating an integrated navigation system. As aforementioned, theintegrated UI 420 provides a user experience that is a coordination ofmultiple multimedia viewing planes 302-308 generated by theircorresponding separate processes 402-406 as described with reference toFIG. 4 . In one embodiment and as illustrated here, using inter-processcommunication logic 204 of FIG. 2 , a coordinated effort is facilitatedto provide multidirectional communication between various multimediaprocesses 502-508 via multiple communication channels 512-518. In oneembodiment, multimedia sources or processes 502-508 may include a numberof associated processes, such as processes 402, 404, 406 of FIG. 4 ,that generate the corresponding viewing planes, such as viewing planes302, 304-306, 308, of FIG. 4 . For example, media process 502 mayinclude video process 404 of FIG. 4 , while web process 506 may includeWebKit process 406 of FIG. 4 , etc. Similarly, GUI process 510 mayinclude GUI process 402, etc. In one embodiment, each multimedia process502-508 may include an input source or device that, as illustrated here,may serve as a source of content input to GUI 510.

In one embodiment, given a user is expected to interact primarily thoughthe integrated UI (regardless of the media content that is beingaccessed), the core or the central process of the communication channelnetwork 500 lies within and is represented by GUI 510. As illustrated,GUI 510 (e.g., a GUI software application), being the main access pointfor users of the integrated navigation system, remains in communicationwith media processes 502-508 via their corresponding communicationchannels 512-518. For example, remote process 504 (such as a televisionremote control, etc.) serving as a remote input source communicates withGUI 510 through communication channel 514, mobile process 508 (includinga mobile computing device, such as a smartphone, a tablet computer, alaptop computer, etc.) serving as a mobile input source communicateswith GUI 510 through communication channel 518, web process 506(including a web content generator and/or renderer, such as a webengine, such as QtWebKit, etc.) serving as a web process or input sourcecommunicates with GUI 510 via communication channel 516, and mediaprocess 502 (such as one or more items represented by and within theintegrated UI 420 of FIG. 4 including, but not limited to, a television,a radio, a television broadcasting company, a cable or satellite contentprovider, a cable set-top box, a radio station, a DVD player, a compactdisc (CD) player, etc.) serving as a media process or input sourcecommunicates with GUI 510 through communication channel 512.

In one embodiment and as previously described with reference to mediaprocessing device 100 of FIG. 1 , communication channels 512-518, may beimplemented wired or wirelessly or in a combination thereof. Forexample, when implemented as a wired system, communication channels512-518 may include one or more elements arranged to communicateinformation over one or more wired communications media. Examples ofwired communications media may include a wire, a cable, a printedcircuit board (PCB), a backplane, a switch fabric, a semiconductormaterial, a twisted-pair wire, a co-axial cable, fiber optics, and thelike. Further, the wired communications media may be connected to adevice using an input/output adapter through, for example, I/O sources108 of FIG. 1 . The I/O adapter may be arranged to operate with anysuitable technique for controlling information signals between elementsusing a desired set of communications protocols, services or operatingprocedures and may further include appropriate physical connectors toconnect the I/O adapter with a corresponding communications medium.Examples of an I/O adapter may include a network interface, a networkinterface card (NIC), Universal Serial Bus (USB), IEEE-1393, RS-232,RS-422, or the like.

When implemented as a wireless system, in one embodiment, communicationchannels 512-518 may include one or more wireless elements arranged tocommunicate information over one or more types of wireless communicationmedia. An example of wireless communication media may include portionsof a wireless spectrum, such as the radio frequency (RF) spectrum. Thewireless elements may include components and interfaces suitable forcommunicating information signals over the designated wireless spectrum,such as one or more antennas, wireless transmitters, receivers,transmitters/receivers (“transceivers”), amplifiers, filters, controllogic, antennas, and the like.

In one embodiment, one or more communication components may be used atthe media processing device 100 of FIG. 1 (and as discussed withreference to FIG. 10 ) to be used to execute various communicationsoperations or logic and implement any number and type of communicationstechniques and protocols, such as techniques suitable for use withpacket-switched networks (e.g., public networks such as the Internet,private networks such as an enterprise intranet, and the like),circuit-switched networks (e.g., the public switched telephone network),or a combination of packet-switched networks and circuit-switchednetworks (with suitable gateways and translators). The communicationscomponents may include various types of standard communication elements,such as one or more communications interfaces, network interfaces,network interface cards (NIC), radios, wireless transmitters/receivers(transceivers), wired and/or wireless communication media, infra-redtransceivers, serial interfaces, parallel interfaces, bus interfaces,physical connectors, and so forth.

FIG. 6 illustrates an embodiment of a message routing system 600 forfacilitating an integrated navigation system. In one embodiment, viamessage logic 206 of FIG. 2 , a message bus (e.g., I-bus, enterpriseservice bus (ESB), etc.) mechanism is implemented as a messagingarchitecture model to be responsible for routing of messages throughoutthe integrated navigation system by, for example, facilitating theinteraction and communication between mutually interactive multimediaprocesses 502-510 of the integrated navigation system. In one embodimentand as illustrated, a message bus master process 610 is used formaintaining global state of the integrated UI 420 of FIG. 4 . Forexample, messages may be sent and received via any number of Internetand/or messaging protocols, such as the User Datagram Protocol (UDP),with each process 502-510 opening and communicating through acorresponding port, such as a UDP listening port. Alternatively, eachprocess 502-510 may open the same port and work to avoid any conflictingactions based on their awareness of the overall system.

For example, a user is watching television and presses a down-key on aremote control while navigating the integrated UI, the remote process504 may build a down-key message associated with the down-key operationand communicates the message to, for example, the I-bus master process610 via its local I-bus 612B. Now, because the master process 610 isaware of the current navigation state within the integrated navigationsystem, the down-key message is routed directly to the integrated UI,such as the integrated UI 420 of FIG. 4 , so that appropriate actions(e.g., go channel down, go to one item down on the menu, etc.) may betaken within the integrated navigation system.

In another example, the user is now surfing the Internet and presses thedown-key on the remote control. In this case, the remote process 504generates a down-key message (which has a different function orfunctionality in the web-mode as opposed to the television mode) andsends it to the I-bus message process 610 via its local I-bus 612B. Now,since the message process 610 knows the current state is the web-surfingor Internet state, this newly-generated down-key message is forwardeddirectly to the web browser process 606 (e.g., WebKit), via its localI-bus 612C, to perform a web-based down-key function, such as move downthe content of an Internet-based article, etc. Such messages may begenerated and appropriately forwarded by each process 502-510 via itscorresponding I-bus 612A-612D and the I-bus message process 610 asfacilitated by message logic 206 of FIG. 2 . In one embodiment, mobileprocess 508 may not be directly associated with I-bus master process610, such as a mobile computing device (e.g., smartphone, tabletcomputer, etc.) may not be directly connected to an I-bus but that theremay be a method or a sub-process to connect and input the process withinthe mobile computing device to or through, for example, GUI i-bus 612D.

In one embodiment, message logic 206 of FIG. 2 may further facilitate aparticular message format that is appropriate for any given protocolthat is being used and used. For example and in one embodiment, in caseof I-bus messaging as used here, the I-bus message format may be usedwhich consists of a small header and a message body. The message headermay have a length field, a version field, a source field, a destination,and a message type. The message body may be a well-defined structurethat is specific to the message type, depending on the status event. Forexample, a keyboard event may entail a different message format than amedia status event.

FIG. 7 illustrates a database architecture 700 for facilitating anintegrated navigation system. In one embodiment, database logic 208 ofFIG. 2 may facilitate the implementation of the illustrated databasearchitecture 700 and its use with regard to storing contents of and forthe integrated UI (such as the integrated UI 420 of FIG. 4 ) and anymultimedia metadata. In one embodiment, a relational database managementsystem or an embedded database (e.g., Structured Query Language Lite(SQLite®)) that is used for local/client storage in application software(e.g., web browsers) may be used as the database architecture 700 forfacilitating the integrated navigation system. For example and in oneembodiment, an SQLite-based database 710 may be used to store andpreserve fat content for the integrated UI as binary (or basic) largeobjects (BLOBs), while Uniform Resource Identifiers (URIs)/UniformResource Locators (URLs) of the content may be stored in tables. Forexample, database 710 may be used to store datasets relating to theintegrated UI, including (1) menus content, (2) sub-menus content, (3)metadata for media, (4) icons (for menu items), and (5) lists of currentmedia selections, etc. As illustrated, database 710 is in communicationwith processes 502, 506-510 via their corresponding SQL links 712A-712D.SQLite-based database 710 and database architecture 700 may be usedbecause SQLite is regarded as relatively small and fast for embeddedsystems and might not have any need for any external protocol processes,such as in case of MySQL. In another embodiment, an Object-Orienteddatabase model may be used or used instead of the relational databasemodel. For example, since objects, such as Moving Picture Experts Group(MPEG) files, may be referred to, an object-oriented database managementsystem (OODBM) may provide object persistence and offer performanceimprovements.

With regard to a UI navigation structure within the integratednavigation system, in one embodiment, the X/Y menu structure of thenavigation UI can be easily changed, via customization logic 212 of FIG.2 , if the user wishes to adapt the integrated UI to his/her personalpreferences. To have these settings and changes persist, theSQLite-based database 710 may be used not only to store general data andassociated metadata, but also provide additional structure and solutionsfor storing the data that is relevant to the new settings so that thesettings may persist.

Moreover, in one embodiment, two different processes may use the UInavigation data. For example, in this case, it may be used by the mainintegrated UI (e.g., the one that is displayed on the television) andalso by a smaller or another version of the integrated UI that isprovided on the user, mobile computing device, such as an interface formobile process 508 (e.g., smartphone, tablet computer, etc.). In thecase of mobile computing device, the user is able to navigate the media,menu, displays, etc., similar to those found on the television-based UI,and may in turn instruct the television to play the given media anddisplay it in a particular manner.

Since the smartphone-based UI is able to access the local database filesby linking in the main SQLite database 710, via its corresponding SQLlink 712B, the user may use a smartphone to access local database filesas a separate device/computer. For example, to accomplish this, a webserver with a small Common Gateway Interface (CGI) script may be used toperform SQL queries to allow smartphones to access database tables andrecreate a version of the integrated UI for display on display screensof smartphones.

With regard to media metadata, in one embodiment, an appropriate versionof the integrated UI may be visible on a television screen as well as amobile device (e.g., smartphone) screen, using media metadata forwriting the synopsis of the details view for the selected item (e.g.,cover art, a movie's synopsis, etc.). When a user via a UI providedthrough GUI 708 or a supplemental UI provided through a mobile computingdevice selects a television program, based on a media ID, media process502 may, in turn, query database 710 for the media type and the mediasource location to fulfill the user selection/request. A remote control(e.g., a television remote control) may be unidirectional and unable touse database directly; however, in one embodiment, a remote control'svarious button code mappings (to standardized functions) 720 may bestored in the database. Further, unlike other processes 502, 506-510, itis through mapping 720 that the remote process, such as remote process504 of FIG. 5 , be linked to database 720.

Similarly, web process 506 (e.g., WebKit) may query database 710 inresponse to a user's request, such as for a bookmarked Uniform ResourceLocator (URL) of a website, etc.

FIG. 8 illustrates a method for facilitating integrated navigationsystem according to one embodiment. Methods 800 may be performed byprocessing logic that may comprise hardware (e.g., circuitry, dedicatedlogic, programmable logic, etc.), software (such as instructions run ona processing device), or a combination thereof. In one embodiment,method 400 may be performed by integration mechanism 110 of FIG. 1 . Itis contemplated that processes 805-830 may not be performed in the exactorder as illustrated here and that one or more of the processes 805-830may be optional.

Method 800 begins at block 805 with using multiple multimedia viewingplanes corresponding to different forms of multimedia content (e.g.,television media stream, websites, etc.). At block 810, in oneembodiment, the multiple multimedia planes are integrated into anintegrated navigation system and provided via an integrated UI that isprovided to a user through a media device (e.g., a television). Theintegrated UI may also be used to change settings (e.g., color,language, caption, user profile, etc.). At block 815, inter-processcommunication is facilitated between multiple processes (e.g., webprocess, GUI process, etc.) to facilitate the integrated navigationsystem. With inter-process communication, various processes cancommunicate with each other through the integrated UI as most userscommunicate (e.g., enter information, requests, changes, etc.) throughthe integrated UI they see on their display screen.

At block 820, multi-direction messaging is facilitated between theprocesses so one message from one or more processes (e.g., remoteprocess, web process) may be forwarded on to the integrated UI topromote and perform an appropriate act (e.g., move up or down thescreen, select a program, open a website, etc.) based on thecommunicated messages (e.g., press a key, move a cursor, etc.). At block825, any content/data or relevant metadata associated with theintegrated UI, the multimedia content that is being communicated and/ordisplayed, multiple processes, media device, etc., may be stored in adatabase from where the data and metadata can be communicated betweenmultiple processes. At block 830, in one embodiment, another/secondintegrated UI is generated to be displayed on another/second mediadevice (e.g., a mobile computing device, such as a smartphone, etc.).For example, the second UI at, for example, a smartphone may be used tocommunicate changes to the main integrated UI at, for example, atelevision to promote certain changes within the integrated navigationsystem.

FIGS. 9A, 9B, 9C and 9D illustrate embodiments of remote controls 920,940, 960 that are configured to be used with an integrated navigationsystem. In one embodiment, remote control logic 210 of FIG. 2facilitates remote controls 920, 940, 960 to control multiple mediadevices and services reliably, efficiently, and intuitively through anintegrated UI (such as the integrated UI 420 of FIG. 4 ) within theintegrated navigation system. In one embodiment, remote control logic orparts of it or simply another remote control-based logic/module, such asa device management module, may be incorporated into various consumerremote control products to facilitate an number of features of remotecontrols 920, 940, 960. In one embodiment, remote control logic and/ordevice management logic at a remote control 920, 940, 960 may allow forpointing and selecting of a media device (e.g., television, computer,etc.) that controls an on-screen interface in two dimensions (X-Ycontrol) and receive clicks for selection of on-screen objects oractions. The device management logic further enables a remote control towork with an integrated On-Screen Navigation System in a flexible,user-friendly manner.

Referring to FIG. 9A, an embodiment of a physical push-button remotecontrol 920 is illustrated as having standard numeric, direction andfunctional buttons, rear click capability, thumb scroll wheel 914Afurther supplemented by a touch pad 910A, onboard accelerometers and RFtransmitter, and a couple of microphones 906A, 908A. FIG. 9B illustratesan embodiment of another physical push-button remote control 940 with afull QWERTY keyboard 914B and further having a set of noise cancellingmicrophones 906B, 908B, a speaker 904, and a touch pad 910B.

Referring now to FIG. 9C, it illustrates a mobile computing device 960(e.g., a smartphone, a tablet computer, etc.) that comprises, in oneembodiment, a software-emulated remote control device implemented, forexample, by an Apple® iPhone® a mobile computing device running theGoogle® Android® operating system, or other similar computing device. Inone embodiment, the mobile computing device 960 may include a morecomplex application with a functional secondary integrated UI that issimilar to the integrated UI of another device, such as television. Thisnovel technique allows the user to take advantage of the secondary UI atthe mobile computing device 960 to use it as the main integrate UI or tomake changes to the integrated navigation system. Mobile computingdevice 960 provides a touch pad emulator 930 and two microphones 906C,908C.

In various embodiments, each of the remote control devices 920, 940, 960may optionally include a capacitive touch sensor that allows scrollingand clicking for pointing and selecting in two dimensions 910A, 910B,accelerometers and other sensors that detect movement and providepointing capability that supplements (or replaces) that of the touchpad, ergonomically laid out buttons that are intuitive to use, akeyboard that may be remapped from a full QWERTY layout in a horizontalorientation to a more traditional remote control layout in a verticalorientation, a thumb wheel that allows quick and intuitive scrollingthrough a list of options, a speaker to provide a variety of audibleprompts, and an LCD display to provide channel information and otherdata that is better to be shown to the user on the remote control devicethan on the main television screen or display.

The use and operation of a remote control in a complex entertainmentenvironment can be a difficult challenge since it can be awkward andcumbersome to look at the remote control and alternatively to a mediadevice display screen (e.g., a television screen) and attempt toestablish a mental map between the physical layout of the remote controland the media device's functions. To ease this process, in oneembodiment, the pointing capability of remote controls 920, 940, 960establishes a natural correspondence between the physical controlinterface and the virtual (e.g. on-screen) mapping of controlledfunctions of the media device. Further, advanced power managementfeatures are incorporated into each remote control 920, 940, 960 so thatthe increasing power demands associated with enhanced remote controlcapabilities are efficiently and wisely managed. For example and in oneembodiment, the need for data and radio communications during idlestates (e.g., when no user is detected near the remote control) arereduced while still keeping the remote control 920, 940, 960) availablefor use on-demand. Given that as any onboard power supply (e.g., batterycapability) is limited, an inductive charging mechanism is provided tomake charging as convenient as possible.

FIG. 9D illustrates an embodiment of populating a mobile device-basedremote control 960 with categories 980 that parallel the category ribbon354 of GUI view 350 of FIG. 3B. Using this feature, remote control 960may use a web server and/or a client-initiated database queries toretrieve any media metadata and the corresponding navigation information(e.g., UI menus, filters, etc.) from a database (e.g., SQL database).

FIG. 10 illustrates an embodiment of a remote control system 1000. Forbrevity, any overlapping components of remote control system 1000 andmedia device 100 of FIG. 1 and/or computing device 1100 of FIG. 11 arenot discussed here. As illustrated, the remote control system 1000includes a bus 1008 (also referred to as a “link” or “interconnect”)that is in communication with a touchpad 1010, a 3-axis accelerometer1012 for user interface control (e.g., for displaying landscape orportrait views and gesture detection), a keypad 1014, a scroll or trackwheel 1016, an RF transmitter 1018, a microphone 1020, and a microphonewith an automatic gain control (AGC) 1022. The bus 1008 is further incommunication with microprocessor 1004, a battery 1006, and a powermanagement control 1002. It is contemplated that embodiments of theinvention are not limited to the illustrated components of the remotecontrol system 100 and that any number of new components may be added,and existing components may be removed or modified to add, remove ormodify, respectively, any number and type of features.

FIG. 11 illustrates an embodiment of a computing system 1100. Computingsystem 1100 represents a range of computing and electronic devices(wired or wireless) including, for example, desktop computing systems,laptop computing systems, cellular telephones, personal digitalassistants (PDAs) including cellular-enabled PDAs, set top boxes,smartphones, tablets, etc. Alternate computing systems may include more,fewer and/or different components.

Computing system 1100 includes bus 1105 (or a link, an interconnect, oranother type of communication device or interface to communicateinformation) and processor 1110 coupled to bus 1105 that may processinformation. While computing system 1100 is illustrated with a singleprocessor, electronic system 1100 and may include multiple processorsand/or co-processors, such as one or more of central processors,graphics processors, and physics processors, etc. Computing system 1100may further include random access memory (RAM) or other dynamic storagedevice 1120 (referred to as main memory), coupled to bus 1105 and maystore information and instructions that may be executed by processor1110. Main memory 1120 may also be used to store temporary variables orother intermediate information during execution of instructions byprocessor 1110.

Computing system 1100 may also include read only memory (ROM) and/orother storage device 1130 coupled to bus 1105 that may store staticinformation and instructions for processor 1110. Date storage device1140 may be coupled to bus 1105 to store information and instructions.Date storage device 1140, such as magnetic disk or optical disc andcorresponding drive may be coupled to computing system 1100.

Computing system 1100 may also be coupled via bus 1105 to display device1150, such as a cathode ray tube (CRT), liquid crystal display (LCD) orOrganic Light Emitting Diode (OLED) array, to display information to auser. User input device 1160, including alphanumeric and other keys, maybe coupled to bus 1105 to communicate information and command selectionsto processor 1110. Another type of user input device 1160 is cursorcontrol 1170, such as a mouse, a trackball, or cursor direction keys tocommunicate direction information and command selections to processor1110 and to control cursor movement on display 1150.

Camera and microphone arrays 1190 of computer system 1100 may be coupledto bus 1105 to observe gestures, record audio and video and to receiveand transmit visual and audio commands.

Computing system 1100 may further include network interface(s) 1180 toprovide access to a network, such as a local area network (LAN), widearea network (WAN), metropolitan area network (MAN), personal areanetwork (PAN), Bluetooth, an intranet, the Internet, etc. Networkinterface(s) 1180 may include, for example, a wireless network interfacehaving antenna 1185, which may represent one or more antenna(e). Networkinterface(s) 1180 may also include, for example, a wired networkinterface to communicate with remote devices via network cable 1187,which may be, for example, an Ethernet cable, a coaxial cable, a fiberoptic cable, a serial cable, or a parallel cable.

Network interface(s) 1180 may provide access to a LAN, for example, byconforming to IEEE 802.11b and/or IEEE 802.11g standards, and/or thewireless network interface may provide access to a personal areanetwork, for example, by conforming to Bluetooth standards. Otherwireless network interfaces and/or protocols, including previous andsubsequent versions of the standards, may also be supported.

In addition to, or instead of, communication via the wireless LANstandards, network interface(s) 1180 may provide wireless communicationusing, for example, Time Division, Multiple Access (TDMA) protocols,Global Systems for Mobile Communications (GSM) protocols, Code Division,Multiple Access (CDMA) protocols, and/or any other type of wirelesscommunications protocols.

Network interface(s) 1180 may including one or more communicationinterfaces, such as a modem, a network interface card, or otherwell-known interface devices, such as those used for coupling to theEthernet, token ring, or other types of physical wired or wirelessattachments for purposes of providing a communication link to support aLAN or a WAN, for example. In this manner, the computer system may alsobe coupled to a number of peripheral devices, clients, control surfaces,consoles, or servers via a conventional network infrastructure,including an Intranet or the Internet, for example.

It is to be appreciated that a lesser or more equipped system than theexample described above may be preferred for certain implementations.Therefore, the configuration of computing system 1100 may vary fromimplementation to implementation depending upon numerous factors, suchas price constraints, performance requirements, technologicalimprovements, or other circumstances. Examples of the electronic deviceor computer system 1100 may include without limitation a mobile device,a personal digital assistant, a mobile computing device, a smartphone, acellular telephone, a handset, a one-way pager, a two-way pager, amessaging device, a computer, a personal computer (PC), a desktopcomputer, a laptop computer, a notebook computer, a handheld computer, atablet computer, a server, a server array or server farm, a web server,a network server, an Internet server, a work station, a mini-computer, amain frame computer, a supercomputer, a network appliance, a webappliance, a distributed computing system, multiprocessor systems,processor-based systems, consumer electronics, programmable consumerelectronics, television, digital television, set top box, wirelessaccess point, base station, subscriber station, mobile subscribercenter, radio network controller, router, hub, gateway, bridge, switch,machine, or combinations thereof.

Embodiments may be implemented as any or a combination of: one or moremicrochips or integrated circuits interconnected using a parentboard,hardwired logic, software stored by a memory device and executed by amicroprocessor, firmware, an application specific integrated circuit(ASIC), and/or a field programmable gate array (FPGA). The term “logic”may include, by way of example, software or hardware and/or combinationsof software and hardware.

Embodiments may be provided, for example, as a computer program productwhich may include one or more machine-readable media having storedthereon machine-executable instructions that, when executed by one ormore machines such as a computer, network of computers, or otherelectronic devices, may result in the one or more machines carrying outoperations in accordance with embodiments of the present invention. Amachine-readable medium may include, but is not limited to, floppydiskettes, optical disks, CD-ROMs (Compact Disc-Read Only Memories), andmagneto-optical disks, ROMs, RAMs, EPROMs (Erasable Programmable ReadOnly Memories), EEPROMs (Electrically Erasable Programmable Read OnlyMemories), magnetic or optical cards, flash memory, or other type ofmedia/machine-readable medium suitable for storing machine-executableinstructions.

Moreover, embodiments may be downloaded as a computer program product,wherein the program may be transferred from a remote computer (e.g., aserver) to a requesting computer (e.g., a client) by way of one or moredata signals embodied in and/or modulated by a carrier wave or otherpropagation medium via a communication link (e.g., a modem and/ornetwork connection). Accordingly, as used herein, a machine-readablemedium may, but is not required to, comprise such a carrier wave.

References to “one embodiment”, “an embodiment”, “example embodiment”,“various embodiments”, etc., indicate that the embodiment(s) of theinvention so described may include particular features, structures, orcharacteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Further, someembodiments may have some, all, or none of the features described forother embodiments.

In the following description and claims, the term “coupled” along withits derivatives, may be used. “Coupled” is used to indicate that two ormore elements co-operate or interact with each other, but they may ormay not have intervening physical or electrical components between them.

As used in the claims, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third”, etc., to describe a commonelement, merely indicate that different instances of like elements arebeing referred to, and are not intended to imply that the elements sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

The following clauses and/or examples pertain to further embodiments.Specifics in the examples may be used anywhere in one or moreembodiments. The various features of the different embodiments may bevariously combined with some features included and others excluded tosuit a variety of different applications. Some embodiments pertain to amethod comprising using a plurality of multimedia planes correspondingto a plurality of multimedia content types, wherein the plurality ofmultimedia planes are integrated to be presented through an integrateduser interface at a media processing device; selecting, via theintegrated user interface, one or more content categories from aplurality of multimedia content categories; and presenting, via amultimedia plane of the plurality of multimedia planes, contentsassociated with the one or more selected content categories.

Embodiments include any of the above methods wherein the plurality ofmultimedia planes comprise one or more of a video viewing plane, a webcontent viewing plane, and a Graphical User Interface (GUI) graphicsviewing plane.

Embodiments include any of the above methods further comprising blendingthe plurality of multimedia planes to provide a composite imageembodying the integrated user interface.

Embodiments include any of the above methods further comprisingfacilitating multi-directional communication, via one or morecommunication channels, between two or more processes of a plurality ofprocesses associated with two or more multimedia planes, wherein theplurality of processes generate the plurality of multimedia planes.

Embodiments include any of the above methods further comprisingfacilitating multi-directional messaging, via one or more message buses,between two or more processes associated with two or more multimediaplanes of the plurality of multimedia planes.

Embodiments include any of the above methods further comprisingfacilitating storing in a database one or more of multimedia contents,user inputted contents, user interface datasets, and media metadata,wherein the database includes a Sequential Query Language (SQL)-baseddatabase or an Object-Oriented database.

Embodiments include any of the above methods further comprising contentprovided by a content provider or a user interface publisher, thecontent includes one or more of menu content, sub-menu content, menuicons, sub-menu icons, and a list of current media selections.

Embodiments include any of the above methods wherein the media metadatacomprises media source locations, media types, media elementidentifications, media synopsis, and media cover art, wherein the mediatypes include one or more of a Moving Picture Experts Group (MPEG) fileon disk, an MPEG transport stream over a network, non-MPEG, and awebpage.

Embodiments include any of the above methods wherein presentingcomprises displaying the contents via a display device coupled to themedia processing device, wherein the media processing device includesone or more of a television or a computing system including a mobilecomputing device.

Embodiments include any of the above methods wherein selecting comprisesreceiving a control directive from a media control device including aremote control.

Embodiments include any of the above methods wherein the remote controlcomprise a plurality of features including one or more of a displayscreen, a touch pad, a touch pad emulator, a scroll or track wheel, oneor more push buttons, a push button QWERTY keypad, a touch or emulatorQWERTY keypad, a speaker, a microphone, and one or more noise cancellingmicrophones.

Embodiments include any of the above methods further comprisingproviding a supplemental integrated user interface via the remotecontrol, wherein the supplemental integrated user interface is used toemulate and control the integrated user interface via the remotecontrol.

In another embodiment, an apparatus comprises: a multimedia navigationplanes integration mechanism having first logic to use a plurality ofmultimedia planes corresponding to a plurality of multimedia contenttypes, wherein the plurality of multimedia planes are integrated to bepresented through an integrated user interface at a media processingdevice; second logic to select, via the integrated user interface, oneor more content categories from a plurality of multimedia contentcategories; and third logic to present, via a multimedia plane of theplurality of multimedia planes, contents associated with the one or moreselected content categories.

Embodiments include the apparatus above wherein the plurality ofmultimedia planes comprise one or more of a video viewing plane, a webcontent viewing plane, and a Graphical User Interface (GUI) graphicsviewing plane.

Embodiments include the apparatus above further comprising forth logicto blend the plurality of multimedia planes to provide a composite imageembodying the integrated user interface.

Embodiments include the apparatus above further comprising fifth logicto facilitate multi-directional communication, via one or morecommunication channels, between two or more processes of a plurality ofprocesses that generate two or more multimedia planes of the pluralityof multimedia planes.

Embodiments include the apparatus above further comprising sixth logicto facilitate multi-directional messaging, via one or more messagebuses, between a plurality of processes that generated the plurality ofmultimedia planes.

Embodiments include the apparatus above further comprising seventh logicto facilitate storing in a database one or more of multimedia contents,user inputted contents, user interface datasets, and media metadata,wherein the database includes a Sequential Query Language (SQL)-baseddatabase or an Object-Oriented database.

Embodiments include the apparatus above further comprising contentprovided by a content provider or a user interface publisher, thecontent includes one or more of menu content, sub-menu content, menuicons, sub-menu icons, and a list of current media selections.

Embodiments include the apparatus above wherein the media metadatacomprises media source locations, media types, media elementidentifications, media synopsis, and media cover art, wherein the mediatypes include one or more of a Moving Picture Experts Group (MPEG) fileon disk, an MPEG transport stream over a network, non-MPEG, and awebpage.

Embodiments include the apparatus above wherein the third logic isfurther to display the contents via a display device coupled to themedia processing device, wherein the media processing device includesone or more of a television or a computing system including a mobilecomputing device.

Embodiments include the apparatus above wherein the second logic isfurther to receive a control directive from a media control deviceincluding a remote control.

Embodiments include the apparatus above wherein the remote controlcomprise a plurality of features including one or more of a displayscreen, a touch pad, a touch pad emulator, a scroll or track wheel, oneor more push buttons, a push button QWERTY keypad, a touch or emulatorQWERTY keypad, a speaker, a microphone, and one or more noise cancellingmicrophones.

Embodiments include the apparatus above further comprising eighth logicto provide a supplemental integrated user interface via the remotecontrol, wherein the supplemental integrated user interface is used toemulate and control the integrated user interface via the remotecontrol.

In another embodiment, a system comprises: a media processing devicehaving a memory to store instructions, and a processing device toexecute the instructions, wherein the instructions cause the processingdevice to use a plurality of multimedia planes corresponding to aplurality of multimedia content types, wherein the plurality ofmultimedia planes are integrated to be presented through an integrateduser interface at a media processing device; select, via the integrateduser interface, one or more content categories from a plurality ofmultimedia content categories; and present, via a multimedia plane ofthe plurality of multimedia planes, contents associated with the one ormore selected content categories.

Embodiments include the system above wherein the plurality of multimediaplanes comprise one or more of a video viewing plane, a web contentviewing plane, and a Graphical User Interface (GUI) graphics viewingplane.

Embodiments include the system above wherein the processing device isfurther to blend the plurality of multimedia planes to provide acomposite image embodying the integrated user interface.

Embodiments include the system above wherein the processing device isfurther to facilitate multi-directional communication, via one or morecommunication channels, between two or more processes of a plurality ofprocesses that generate two or more multimedia planes of the pluralityof multimedia planes.

Embodiments include the system above wherein the processing device isfurther to facilitate multi-directional messaging, via one or moremessage buses, between a plurality of processes that generated theplurality of multimedia planes.

Embodiments include the system above wherein the processing device isfurther to facilitate storing in a database one or more of multimediacontents, user inputted contents, user interface datasets, and mediametadata, wherein the database includes a Sequential Query Language(SQL)-based database or an Object-Oriented database.

Embodiments include the system above further comprising content providedby a content provider or a user interface publisher, the contentincludes one or more of menu content, sub-menu content, menu icons,sub-menu icons, and a list of current media selections.

Embodiments include the system above wherein the media metadatacomprises media source locations, media types, media elementidentifications, media synopsis, and media cover art, wherein the mediatypes include one or more of a Moving Picture Experts Group (MPEG) fileon disk, an MPEG transport stream over a network, non-MPEG, and awebpage.

Embodiments include the system above wherein the processing device isfurther to display the contents via a display device coupled to themedia processing device, wherein the media processing device includesone or more of a television or a computing system including a mobilecomputing device.

Embodiments include the system above wherein the processing device isfurther to receive a control directive from a media control deviceincluding a remote control.

Embodiments include the system above wherein the remote control comprisea plurality of features including one or more of a display screen, atouch pad, a touch pad emulator, a scroll or track wheel, one or morepush buttons, a push button QWERTY keypad, a touch or emulator QWERTYkeypad, a speaker, a microphone, and one or more noise cancellingmicrophones.

Embodiments include the system above further comprising eighth logic toprovide a supplemental integrated user interface via the remote control,wherein the supplemental integrated user interface is used to emulateand control the integrated user interface via the remote control.

In another embodiment, an apparatus comprises means for performing anyone or more of the operations mentioned above.

In yet another embodiment, at least one machine-readable comprising aplurality of instructions that in response to being executed on acomputing device, causes the computing device to carry out a methodaccording to any one or more of the operations mentioned above.

In yet another embodiment, a computing device arranged to perform amethod according to any one or more of the operations mentioned above.

The drawings and the forgoing description give examples of embodiments.Those skilled in the art will appreciate that one or more of thedescribed elements may well be combined into a single functionalelement. Alternatively, certain elements may be split into multiplefunctional elements. Elements from one embodiment may be added toanother embodiment. For example, orders of processes described hereinmay be changed and are not limited to the manner described herein.Moreover, the actions any flow diagram need not be implemented in theorder shown; nor do all of the acts necessarily need to be performed.Also, those acts that are not dependent on other acts may be performedin parallel with the other acts. The scope of embodiments is by no meanslimited by these specific examples. Numerous variations, whetherexplicitly given in the specification or not, such as differences instructure, dimension, and use of material, are possible. The scope ofembodiments is at least as broad as given by the following claims.

What is claimed is:
 1. A method for presenting a plurality of multimedia planes on a media processing device having a display screen and having a plurality of processes, comprising: combining the plurality of multimedia planes into an integrated set of multimedia planes by blending the plurality of multimedia planes into a composite image to be presented through an integrated user interface at the media processing device, wherein the plurality of multimedia planes correspond to a plurality of content types including a first video content and one or more of a webpage content, a graphics content, an audio content, or a second video content, and wherein the one or more of the webpage content, the graphics content, the audio content, or the second video content does not overlap the first video content; in response to a user selection via the integrated user interface, presenting one or more multimedia content types from the plurality of content types, wherein the integrated user interface serves as a unified access point for presenting multimedia contents corresponding to the plurality of content types; facilitating interprocess multidirectional communication between a first process associated with a first multimedia plane and a second process associated with a second multimedia plane to determine a display of content on the first multimedia plane and a display of content on the second multimedia plane, the first multimedia plane and the second multimedia plane each assigned to different content types among the plurality of content types; and simultaneously displaying a category selection area, a media object selection area, an information panel, and an action panel to facilitate simultaneous rendering of two or more of the plurality of content types including an audio content, a video content, a graphics content, or a webpage content, wherein one or more of the integrated set of multimedia planes serve as one or more selection areas, the one or more selection areas to be displayed as running horizontally or vertically, and wherein the one or more selection areas include the category selection area listing categories associated with the multimedia contents, and the media object selection area listing media objects associated with the categories, wherein one or more of the media objects include two or more of a media content preview pane, a media content source identifier, a media content program time, a media content program progress indicator, and a media content program name, and wherein at least one of the category selection area and the media object selection area is located horizontally along a lower edge of the display screen.
 2. The method as recited in claim 1, wherein the interprocess communication is via messaging.
 3. The method as recited in claim 1, wherein the content types include at least one of web content, television programming, media streaming, multimedia streaming, video streams, navigation ribbon, category ribbon, information panel, action menu, media object ribbon, DVD-based media, name/symbol/logo/icon, and a channel guide.
 4. The method as recited in claim 1, wherein a first one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program time; and wherein a second one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program progress indicator.
 5. The method as recited in claim 1, wherein the interprocess communication comprises a master process that performs multidirectional messaging with each of the first process and the second process.
 6. The method as recited in claim 5, wherein in the multidirectional messaging, the master process selects whether to forward received messages to the first process or to the second process based on the one or more multimedia content types selected by the user.
 7. The method as recited in claim 6, wherein the messages selectively forwarded to the first process determine the display of the content on the first multimedia plane, and the messages selectively forwarded to the second process determine the display of the content on the second multimedia plane.
 8. The method as recited in claim 5, wherein the first process and the second process communicate with the integrated user interface via the multidirectional messaging with the master process, and a third process associated with one or more of the multimedia planes communicates with the master process via multidirectional messaging with the integrated user interface.
 9. At least one non-transitory computer readable storage medium for presenting a plurality of multimedia planes on a media processing device having a display screen and having a plurality of processes, the medium having instructions stored thereon, the instructions when executed on the media processing device cause the device to: combine the plurality of multimedia planes into an integrated set of multimedia planes by blending the plurality of multimedia planes into a composite image to be presented through an integrated user interface at the media processing device, wherein the plurality of multimedia planes correspond to a plurality of content types including a first video content and one or more of a webpage content, a graphics content, an audio content, or a second video content, and wherein the one or more of the webpage content, the graphics content, the audio content, or the second video content does not overlap the first video content; in response to a user selection via the integrated user interface, present one or more multimedia content types from the plurality of content types, wherein the integrated user interface serves as a unified access point for presenting multimedia contents corresponding to the plurality of content types; facilitate interprocess multidirectional communication between a first process associated with a first multimedia plane and a second process associated with a second multimedia plane to determine a display of content on the first multimedia plane and a display of content on the second multimedia plane, the first multimedia plane and the second multimedia plane each assigned to different content types among the plurality of content types; and simultaneously display a category selection area, a media object selection area, an information panel, and an action panel to facilitate simultaneous rendering of two or more of the plurality of content types including an audio content, a video content, a graphics content, or a webpage content, wherein one or more of the integrated set of multimedia planes serve as one or more selection areas, the one or more selection areas to be displayed as running horizontally or vertically, and wherein the one or more selection areas include the category selection area listing categories associated with the multimedia contents, and the media object selection area listing media objects associated with the categories, wherein one or more of the media objects include two or more of a media content preview pane, a media content source identifier, a media content program time, a media content program progress indicator, and a media content program name, and wherein at least one of the category selection area and the media object selection area is located horizontally along a lower edge of the display screen.
 10. The medium as recited in claim 9, wherein the interprocess communication is via messaging.
 11. The medium as recited in claim 9, wherein the content types include at least one of web content, television programming, media streaming, multimedia streaming, video streams, navigation ribbon, category ribbon, information panel, action menu, media object ribbon, DVD-based media, name/symbol/logo/icon, and a channel guide.
 12. The medium as recited in claim 9, wherein a first one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program time; and wherein a second one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program progress indicator.
 13. A media processing device having a display screen and having a plurality of processes, the device to present a plurality of multimedia planes, comprising: an integrated user interface to combine the plurality of multimedia planes into an integrated set of multimedia planes by blending the plurality of multimedia planes into a composite image to be presented through an integrated user interface at the media processing device, wherein the plurality of multimedia planes correspond to a plurality of content types including a first video content and one or more of a webpage content, a graphics content, an audio content, or a second video content, and wherein the one or more of the webpage content, the graphics content, the audio content, or the second video content does not overlap the first video content; presentation logic to, in response to a user selection via the integrated user interface, present one or more multimedia content types from the plurality of content types, wherein the integrated user interface serves as a unified access point for presenting multimedia contents corresponding to the plurality of content types; and simultaneously display a category selection area, a media object selection area, an information panel, and an action panel to facilitate simultaneous rendering of two or more of the plurality of content types including audio content, a video content, a graphics content, or a webpage content; and communication logic to facilitate interprocess multidirectional communication between a first process associated with a first multimedia plane and a second process associated with a second multimedia plane to determine a display of content on the first multimedia plane and a display of content on the second multimedia plane, the first multimedia plane and the second multimedia plane each assigned to different content types among the plurality of content types, wherein one or more of the integrated set of multimedia planes serve as one or more selection areas, the one or more selection areas to be displayed as running horizontally or vertically, and wherein the one or more selection areas include the category selection area listing categories associated with the multimedia contents, and the media object selection area listing media objects associated with the categories, wherein one or more of the media objects include two or more of a media content preview pane, a media content source identifier, a media content program time, a media content program progress indicator, and a media content program name, and wherein at least one of the category selection area and the media object selection area is located horizontally along a lower edge of the display screen.
 14. The media processing device as recited in claim 13, wherein the interprocess communication is via messaging.
 15. The media processing device as recited in claim 13, wherein the content types include at least one of web content, television programming, media streaming, multimedia streaming, video streams, navigation ribbon, category ribbon, information panel, action menu, media object ribbon, DVD-based media, name/symbol/logo/icon, and a channel guide.
 16. The media processing device as recited in claim 13, wherein a first one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program time; and wherein a second one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program progress indicator.
 17. A method for presenting a plurality of multimedia planes on a media processing device having a display screen, comprising: combining the plurality of multimedia planes into an integrated set of multimedia planes by blending the plurality of multimedia planes into a composite image to be presented through an integrated user interface at the media processing device, wherein the plurality of multimedia planes correspond to a plurality of content types including a first video content and one or more of a webpage content, a graphics content, an audio content, or a second video content, and wherein the one or more of the webpage content, the graphics content, the audio content, or the second video content does not overlap the first video content; in response to a user selection via the integrated user interface, presenting one or more multimedia content types from the plurality of content types, wherein the integrated user interface serves as a unified access point for presenting multimedia contents corresponding to the plurality of content types; facilitating interprocess multidirectional communication between a master process and each of a first multimedia plane and a second multimedia plane to determine a display of content on each of the first multimedia plane and the second multimedia plane, the first multimedia plane and the second multimedia plane each assigned to different content types among the plurality of content types; and simultaneously displaying a category selection area, a media object selection area, an information panel, and an action panel to facilitate simultaneous rendering of two or more of the plurality of content types including an audio content, a video content, a graphics content, or a webpage content, wherein one or more of the integrated set of multimedia planes serve as one or more selection areas, the one or more selection areas to be displayed as running horizontally or vertically, and wherein the one or more selection areas include the category selection area listing categories associated with the multimedia contents, and the media object selection area listing media objects associated with the categories, wherein one or more of the media objects include two or more of a media content preview pane, a media content source identifier, a media content program time, a media content program progress indicator, and a media content program name, and wherein at least one of the category selection area and the media object selection area is located horizontally along a lower edge of the display screen.
 18. The method as recited in claim 17, wherein the communication is via messaging.
 19. The method as recited in claim 17, wherein the content types include at least one of web content, television programming, media streaming, multimedia streaming, video streams, navigation ribbon, category ribbon, information panel, action menu, media object ribbon, DVD-based media, name/symbol/logo/icon, and a channel guide.
 20. The method as recited in claim 17, wherein a first one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program time; and wherein a second one of the one or more media objects includes the media content preview pane, the media content source identifier, the media content program name, and the media content program progress indicator. 